diff --git a/init.hikey.rc b/init.hikey.rc
index 5c49333..bf16d91 100644
--- a/init.hikey.rc
+++ b/init.hikey.rc
@@ -48,10 +48,6 @@
 # Set supported opengles version
     setprop ro.opengles.version 196608
 
-# change permissions for process groups
-# https://bugs.launchpad.net/bugs/1037611
-    chmod 0660 /dev/cpuctl
-
     # update cpuset now that processors are up
     # Foreground should contain all cores
     write /dev/cpuset/foreground/cpus 0-7
diff --git a/installer/flash-all.sh b/installer/flash-all.sh
index c4049e2..2c3365c 100755
--- a/installer/flash-all.sh
+++ b/installer/flash-all.sh
@@ -5,51 +5,66 @@
     exit
 fi
 
-if [ ! -e $1 ]
+if [ ! -e "${1}" ]
   then
-    echo "device: $1 does not exist"
+    echo "device: ${1} does not exist"
     exit
 fi
-DEVICE_PORT=${1}
+DEVICE_PORT="${1}"
 PTABLE=ptable-aosp-8g.img
 if [ $# -gt 1 ]
   then
-    if [ $2 == '4g' ]
+    if [ "${2}" == '4g' ]
       then
         PTABLE=ptable-aosp-4g.img
     fi
 fi
 
-INSTALLER_DIR="`dirname $0`"
-ANDROID_TOP=${INSTALLER_DIR}/../../../../
+INSTALLER_DIR="`dirname ${0}`"
+FIRMWARE_DIR="${INSTALLER_DIR}"
+
+# for cases that not run "lunch hikey-userdebu"
+if [ -z "${ANDROID_BUILD_TOP}" ]; then
+    ANDROID_BUILD_TOP=${INSTALLER_DIR}/../../../../
+    ANDROID_PRODUCT_OUT="${ANDROID_BUILD_TOP}/out/target/product/hikey"
+fi
+
+if [ -z "${DIST_DIR}" ]; then
+    DIST_DIR="${ANDROID_BUILD_TOP}"/out/dist
+fi
 
 #get out directory path
 while [ $# -ne 0 ]; do
-    case "$1" in
-        --out) OUT_IMGDIR=$2;shift;
+    case "${1}" in
+        --out) OUT_IMGDIR=${2};shift;;
+        --use-compiled-binaries) FIRMWARE_DIR="${DIST_DIR}";shift;;
     esac
     shift
 done
 
-if [ -z $OUT_IMGDIR ]; then
-    if [ ! -z $ANDROID_PRODUCT_OUT ]; then
-        OUT_IMGDIR=${ANDROID_PRODUCT_OUT}
-    else
-        OUT_IMGDIR="${ANDROID_TOP}/out/target/product/hikey"
+if [[ "${FIRMWARE_DIR}" == "${DIST_DIR}" && ! -e "${DIST_DIR}"/fip.bin && ! -e "${DIST_DIR}"/l-loader.bin ]]; then
+    echo "No binaries found at ${DIST_DIR}. Please build the bootloader first"
+    exit
+fi
+
+if [ -z "${OUT_IMGDIR}" ]; then
+    if [ ! -z "${ANDROID_PRODUCT_OUT}" ]; then
+        OUT_IMGDIR="${ANDROID_PRODUCT_OUT}"
     fi
 fi
 
-if [ ! -d $OUT_IMGDIR ]; then
+if [ ! -d "${OUT_IMGDIR}" ]; then
     echo "error in locating out directory, check if it exist"
     exit
 fi
-echo "android out dir:$OUT_IMGDIR"
 
-sudo python ${INSTALLER_DIR}/hisi-idt.py --img1=${INSTALLER_DIR}/l-loader.bin -d ${DEVICE_PORT}
-fastboot flash ptable ${INSTALLER_DIR}/${PTABLE}
-fastboot flash fastboot ${INSTALLER_DIR}/fip.bin
-fastboot flash nvme ${INSTALLER_DIR}/nvme.img
-fastboot flash boot ${OUT_IMGDIR}/boot.img
-fastboot flash system ${OUT_IMGDIR}/system.img
-fastboot flash cache ${OUT_IMGDIR}/cache.img
-fastboot flash userdata ${OUT_IMGDIR}/userdata.img
+echo "android out dir:${OUT_IMGDIR}"
+
+sudo python "${INSTALLER_DIR}"/hisi-idt.py --img1="${FIRMWARE_DIR}"/l-loader.bin -d "${DEVICE_PORT}"
+fastboot flash ptable "${INSTALLER_DIR}"/"${PTABLE}"
+fastboot flash fastboot "${FIRMWARE_DIR}"/fip.bin
+fastboot flash nvme "${INSTALLER_DIR}"/nvme.img
+fastboot flash boot "${OUT_IMGDIR}"/boot.img
+fastboot flash system "${OUT_IMGDIR}"/system.img
+fastboot flash cache "${OUT_IMGDIR}"/cache.img
+fastboot flash userdata "${OUT_IMGDIR}"/userdata.img
